#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include <set>

using namespace std;

vector<vector<int> > generate(int numRows) {
    vector<vector<int> > ans;
    vector<int> cur;
    cur.push_back(1);
 
    ans.push_back(cur);
    vector<int> nxt;
    if (numRows == 1) return ans;

    for (int i = 1; i < numRows; i++) {
        vector<int> tmp;
	tmp.push_back(1);
        for (int i = 0; i < cur.size()-1; i++) {
	    tmp.push_back(cur[i]+cur[i+1]);
	}
	tmp.push_back(1);
	ans.push_back(tmp);
	cur = tmp;
    }
    return ans; 
}


int main(int argc, char **argv)
{

}
